﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ABC_SA_WEB.WebServiceReportes;
using System.Diagnostics;
using System.Collections;
using System.Data;

namespace ABC_SA_WEB
{
    public partial class ResultReporte : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            {
                string nomUser = Request.QueryString["usr"];
                string fechDesde = Request.QueryString["fd"];
                string fechHasta = Request.QueryString["fh"];

                //Inserta el rango de fechas seleccionadas
                lblFd.Text = fechDesde + " / ";
                lblFh.Text = fechHasta + ".";

                //Llamado a la capa WS
                wsReportes Reportes_WS = new wsReportes();

                // Consulta la lista resultante
                ArrayList Result = new ArrayList(Reportes_WS.consultaReporteProv(nomUser, fechDesde, fechHasta));

                if (Result.Count == 0)
                {
                    lblErrorReporte.Text = "No se ha podido generar un reporte con las fechas seleccionadas. O no se han indicado las fechas Desde y Hasta";
                }
                else
                {

                    // Genera un DataTable y agrega sus columnas
                    DataTable dt = new DataTable();
                    dt.Columns.Add("ID Factura", typeof(string));
                    dt.Columns.Add("Fecha", typeof(string));
                    dt.Columns.Add("ID Servicio", typeof(string));
                    dt.Columns.Add("Servicio", typeof(string));
                    dt.Columns.Add("Monto c/u", typeof(int));
                    dt.Columns.Add("Cantidad", typeof(int));

                    // Inserta la informacion de los reportes en cada fila
                    for (int i = 0; i < Result.Count; )
                    {
                        DataRow NuevaFila = dt.NewRow();
                        for (int x = 0; x <= 5; x++)
                        {
                            NuevaFila[x] = Result[i];
                            i++;
                        }
                        dt.Rows.Add(NuevaFila);
                    }

                    gdvResultados.DataSource = dt;
                    gdvResultados.DataBind();
                }
            }
            //Obtiene informacion del Gridview para sacar el total de ventas
            int total = 0;
            for (int i = 0; i < gdvResultados.Rows.Count; i++)
            {
                total += Int32.Parse(gdvResultados.Rows[i].Cells[4].Text) * Int32.Parse(gdvResultados.Rows[i].Cells[5].Text);
            }
            lbltotal.Text = total + "";
        }
    }
}